package com.taxi.driver.module.order.ongoing;

import android.content.Context;

import com.amap.api.maps.model.LatLng;
import com.taxi.driver.common.i.IBasePresenter;
import com.taxi.driver.common.i.IBaseView;
import com.taxi.driver.module.vo.AddressVO;
import com.taxi.driver.module.vo.OrderVO;
import com.taxi.driver.socket.SocketPushContent;

/**
 * 功能描述：
 */
public interface OrderOngoingContract {

    interface View extends IBaseView<Presenter> {

        void setDisplay(OrderVO vo);

        void resetBtnDisplay(); //重置按键显示

        void arriveEnd(String orderUuid); //已到达上车地点

        void showOrderPrice(double price); //显示订单费用（专车才需要使用）

        void setNaviInfoDisplay(Integer distance, Integer time);//设置导航信息显示

        void changeAddress(AddressVO vo); //改变导航目的地

        Context getContext();

        void setTotalPrice(double totalPrice); //设置订单金额

        void showMileage(double mileage);

        void showWaitFare(double waitFare);//显示超时等待费

        void showReassignDialog(SocketPushContent push);//显示订单改派的弹窗

        void showReassignedDialog(String msg);
    }

    interface Presenter extends IBasePresenter {

        void onCreate();

        void onDestory();

        void setOrderUuid(String orderUuid); //设置uuid

        String getPassengerPhone(); //获取乘客联系方式

        void switchToNextStatus(); //切换到下个订单状态

        AddressVO getNaviDest(); //获取导航对应的目的地

        LatLng getCurrentLatLng(); //获取司机当前坐标

        void setIsDepart(boolean isDepart);

        void getRealtimeFare(String orderUuid);

        int driverType();
    }
}
